From 41dca18e001ad9657ec6cf284dbda003c3822375 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Fri, 7 Apr 2006 16:15:44 +0100 Subject: [PATCH] Fix my slightly broken change to pirq_mask logic -- we must pass the last seen bit *plus 1* to find_next_bit(). Signed-off-by: Keir Fraser --- xen/arch/ia64/xen/irq.c | 2 +- xen/arch/x86/irq.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/ia64/xen/irq.c b/xen/arch/ia64/xen/irq.c index e7d0862d9c..350ec72435 100644 --- a/xen/arch/ia64/xen/irq.c +++ b/xen/arch/ia64/xen/irq.c @@ -1363,7 +1363,7 @@ int pirq_guest_unmask(struct domain *d) for ( pirq = find_first_bit(d->pirq_mask, NR_PIRQS); pirq < NR_PIRQS; - pirq = find_next_bit(d->pirq_mask, NR_PIRQS, pirq) ) + pirq = find_next_bit(d->pirq_mask, NR_PIRQS, pirq+1) ) { desc = &irq_desc[pirq]; spin_lock_irq(&desc->lock); diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c index 0b9d88037b..5a0749fb4e 100644 --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -176,7 +176,7 @@ int pirq_guest_unmask(struct domain *d) for ( pirq = find_first_bit(d->pirq_mask, NR_PIRQS); pirq < NR_PIRQS; - pirq = find_next_bit(d->pirq_mask, NR_PIRQS, pirq) ) + pirq = find_next_bit(d->pirq_mask, NR_PIRQS, pirq+1) ) { desc = &irq_desc[irq_to_vector(pirq)]; spin_lock_irq(&desc->lock); -- 2.30.2